<?php
/**
 * @package   auto_occasion
 * @subpackage 
 * @author    CMS
 * @copyright 2011
 * @license    All rights reserved
 */


class parutionSrv {

    /**
     * Fonction permettant de sauvegarder les mails
     * @return object $parution
     *
     */
    public function ajouter ($parution) {
        // instanciation de la factory
        $maFactory = jDao::get("commun~ao_parution");
        $records   = jDao::createRecord("commun~ao_parution");

        $records->parution_num       = $parution->parution_num;
        $records->parution_date      = $parution->parution_date;
        $records->parution_bouclage  = $parution->parution_bouclage;
        $records->parution_limite    = $parution->parution_limite;
        $records->parution_relance   = $parution->parution_relance;
        $records->parution_suppr     = $parution->parution_suppr;
        
        
        if ($maFactory->insert($records)) {
            return $records->parution_id;
        }

    }
     /**
     * Fonction permettant de modifier les mails
     * @return object $parution
     *
     */
    public function modifier ($parution) {
        // instanciation de la factory
        $maFactory = jDao::get("commun~ao_parution");
        $records   = $maFactory->get($parution->parution_id);

        $records->parution_num     = $parution->parution_num;
        $records->parution_date      = $parution->parution_date;
        $records->parution_bouclage  = $parution->parution_bouclage;
        $records->parution_limite    = $parution->parution_limite;
        $records->parution_relance   = $parution->parution_relance;
        $records->parution_suppr     = $parution->parution_suppr;
        

        if ($maFactory->update($records)) {
            return $parution->parution_id;
        }

    }

     /**
     * Fonction permettant de verifier si une parution peut etre supprimée
     * @param int $numParution
     * @param string $field
     * @param string $dao
     * @return object $parution
     *
     */
    public function estSupprimable ($numParution, $field, $dao, $module = "commun") {
        $bReturn = true;
        $maFactory = jDao::get("$module~$dao");
        $oCond = jDao::createConditions() ;
        $oCond->addCondition($field, '=', $numParution) ;
        if ($oFac->findBy($oCond)->fetchAll()) {
            $bReturn = false;
        }

        return $bReturn;

    }

     /**
     * Récupère la dernière date de parution % à la date d'aujourd'hui
     *
     */
    public function getLastParutionDate () {
        $sql = "select parution_date from ao_parution where parution_date<now() order by parution_date desc limit 1";

        $jdb     = jDb::getDbWidget();
        while ($row = $jdb->fetchAll($sql)) {
            return $row[0]->parution_date;
        }
    }

     /**
     * Récupère la prochaine date de parution % à la date d'aujourd'hui
     *
     */
    public function getNextParutionDate () {
        $sql = "select parution_date from ao_parution where parution_date>now() order by parution_date asc limit 1";

        $jdb     = jDb::getDbWidget();
        while ($row = $jdb->fetchAll($sql)) {
            return $row[0]->parution_date;
        }
    }

}